package com.ht.constant;

import java.util.HashMap;
import java.util.Map;

/**
 * @ProjectName: ht
 * @ClassName: DicConstants
 * @Author: hejialun
 * @Description: 码表常量
 * @Date: 2021/9/14 11:02
 */
public class DicConstant {

    /**
     * 房间动作类型
     */
    public static class ActionType {
        private ActionType() {
            throw new UnsupportedOperationException();
        }

        //向积分池给分
        public static final String GIVE_POOL = "01";
        //从积分池取分
        public static final String TAKE_POOL = "02";
        //向用户给分
        public static final String GIVE_POINTS = "03";
        //扣除用户积分
        public static final String DEDUCT_SCORE = "04";

        //定义动作类型映射map
        public static final Map<String, String> ActionMap = new HashMap<String, String>() {{
            put(GIVE_POOL, "给与");
            put(TAKE_POOL, "取走");
            put(GIVE_POINTS, "给与");
            put(DEDUCT_SCORE, "扣除");
        }};

    }


    /**
     * 消息类型
     */
    public static class MessageType {
        private MessageType() {
            throw new UnsupportedOperationException();
        }

        //系统消息
        public static final String admin = "-1";
        //加入房间消息
        public static final String joinRoom = "0";
        //退出房间消息
        public static final String quitRoom = "1";
        //解散房间消息
        public static final String dissolveRoom = "2";
        //房间开始消息
        public static final String startRoom = "3";
        //提出房间消息
        public static final String kickOutRoom = "4";
        //积分池分数变化消息
        public static final String poolScoreChange = "5";
        //结束比赛游戏
        public static final String endGame = "6";
        //房间规则变化
        public static final String roomRuleChange = "7";

    }

    /**
     * 角色编码
     */
    public static class RoleCode {
        private RoleCode() {
            throw new UnsupportedOperationException();
        }

        //管理员
        public static final String ADMIN = "ADMIN";
        //用户
        public static final String USER = "USER";
    }


    /**
     * 状态
     */
    public static class TaskState {
        private TaskState() {
            throw new UnsupportedOperationException();
        }

        //激活
        public static final String ACTIVE = "01";
        //停止
        public static final String STOP = "02";
    }


    /**
     * 数据权限标识
     */
    public static class DataAuthority {
        private DataAuthority() {
            throw new UnsupportedOperationException();
        }

        //全部数据权限
        public static final String ALL = "01";
        //本部门数据权限
        public static final String DEPT = "02";
        //本部门及下级部门数据权限
        public static final String DEPT_LOWER = "03";
        //本部门及所有子集数据权限
        public static final String DEPT_SUBSET = "04";
        //仅本人数据权限
        public static final String ONESELF = "05";
        //自定义数据权限
        public static final String CUSTOM = "99";
    }


    /**
     * 状态
     */
    public static class State {
        private State() {
            throw new UnsupportedOperationException();
        }

        //启用
        public static final String ENABLE = "01";
        //禁用
        public static final String DISABLE = "02";
    }


    /**
     * 菜单类型
     */
    public static class MenuType {
        private MenuType() {
            throw new UnsupportedOperationException();
        }

        //菜单
        public static final String MENU = "0";
        //页面
        public static final String PAGE = "1";
        //按钮
        public static final String BUTTON = "2";
    }

    /**
     * 操作日志状态
     */
    public static class OperLogStates {
        private OperLogStates() {
            throw new UnsupportedOperationException();
        }

        //正常
        public static final String NORMAL = "0";
        //异常
        public static final String ERROR = "1";
    }

    /**
     * 操作日志类型
     */
    public static class OperLogType {
        private OperLogType() {
            throw new UnsupportedOperationException();
        }

        //查询
        public static final String QUERY = "01";
        //新增
        public static final String ADD = "02";
        //修改
        public static final String UPDATE = "03";
        //删除
        public static final String DEL = "04";
        //登录
        public static final String LOGIN = "05";
        //登出
        public static final String LOGOUT = "06";
        //导入
        public static final String IMPORT = "07";
        //导出
        public static final String EXPORT = "08";
        //激活
        public static final String ACTIVE = "09";
        //停止
        public static final String STOP = "10";
        //下载
        public static final String DOWNLOAD = "11";
        //上传
        public static final String UPLOAD = "12";
        //解压
        public static final String DECOMPRESSION = "13";
        //复制
        public static final String COPY = "14";
        //转换
        public static final String CONVERT = "15";
    }


}